Ephedra californica recovery

Purpose

To explore ephedra recovery following clipping. Year two in a long-term shrub removal experiment. Aboveground clipping. Panoche Hills Ecological Reserve.

Removal done by A. Liczner, A. Filazzola, T. Noble, and M. Westphal. Loss of shrub effects on animals experiment separate from this survey initiated by A. Liczner and completed 2016. Eva Gruber surveyed for resprouting.

ecoblender

Data

library(tidyverse)
library(plotly)
data <- read_csv("data/EH.recovery.2016.csv")
data
## # A tibble: 40 × 8
##          date census    ID length width height resprout observations
##         <chr>  <chr> <int>  <dbl> <dbl>  <dbl>    <int>        <chr>
## 1  april.2013  pre.2   137    2.5   3.0   1.40       NA         <NA>
## 2  april.2013  pre.2   146    4.4   3.8   1.50       NA         <NA>
## 3  april.2013  pre.2   182    4.9   3.0   1.90       NA         <NA>
## 4  april.2013  pre.2   183    4.3   3.3   1.70       NA         <NA>
## 5  april.2013  pre.2   197    2.9   3.6   1.50       NA         <NA>
## 6  april.2013  pre.2   200    1.9   1.2   0.70       NA         <NA>
## 7  april.2013  pre.2   217    1.9   1.3   1.00       NA         <NA>
## 8  april.2013  pre.2   245    4.3   4.6   1.28       NA         <NA>
## 9  april.2013  pre.2   271    3.3   4.5   1.40       NA         <NA>
## 10 april.2013  pre.2   273    2.6   0.3   1.30       NA         <NA>
## # ... with 30 more rows
data <- data %>% mutate(volume = ((length + width)/2)^3*3.14*(1/3)) %>% arrange(desc(resprout))

EDA

#current volume used####
#data viz
nov.2016 <- data %>% filter(date == "nov.2016") #only resurvey

p1 <- ggplot(nov.2016, aes(resprout, weight= volume)) + 
  geom_histogram(binwidth = 2, fill = "dodgerblue") +
  xlab("number of shoots resprouted") +
  ylab("relative weighted frequency by volume")
ggplotly(p1)
p1.1 <- ggplot(nov.2016, aes(ID, resprout)) + 
  geom_point(aes(size = volume), color = "dodgerblue") 
ggplotly(p1.1)
nov.2016 <- nov.2016 %>% filter(resprout < 15) #filter out my post hoc classifications

p2 <- ggplot(nov.2016, aes(volume, resprout)) + 
  geom_point(color = "dodgerblue") + 
  xlab("current shrub volume") +
  ylab("number of resprouted shoots") +
  geom_smooth(method = lm)
ggplotly(p2)
#simple model
m1 <- glm(resprout ~ volume, data = nov.2016)
summary(m1)
## 
## Call:
## glm(formula = resprout ~ volume, data = nov.2016)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.9476  -1.9340  -0.7416   0.9654   7.2943  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.94757    0.97041   4.068 0.000895 ***
## volume       0.25031    0.06696   3.738 0.001793 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 8.557791)
## 
##     Null deviance: 256.50  on 17  degrees of freedom
## Residual deviance: 136.92  on 16  degrees of freedom
## AIC: 93.605
## 
## Number of Fisher Scoring iterations: 2
anova(m1, test = "Chisq")
## Analysis of Deviance Table
## 
## Model: gaussian, link: identity
## 
## Response: resprout
## 
## Terms added sequentially (first to last)
## 
## 
##        Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                      17     256.50              
## volume  1   119.58        16     136.93 0.0001855 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#setup volume####
setup <- data %>% filter(date == "april.2013") %>% 
  select(ID, volume) %>% rename(setup.vol = volume)

merged.data <- left_join(nov.2016, setup)

#repeat all above worflow code
p3 <- ggplot(merged.data, aes(resprout, weight= setup.vol)) + 
  geom_histogram(binwidth = 2, fill = "dodgerblue") +
  xlab("number of shoots resprouted") +
  ylab("relative weighted frequency by volume")
ggplotly(p3)
p3.1 <- ggplot(merged.data, aes(ID, resprout)) + 
  geom_point(aes(size = setup.vol), color = "dodgerblue") 
ggplotly(p3.1)
merged.data <- merged.data %>% filter(resprout < 15) #filter out my post hoc classifications

p4 <- ggplot(merged.data, aes(setup.vol, resprout)) + 
  geom_point(color = "dodgerblue") + 
  xlab("current shrub volume") +
  ylab("number of resprouted shoots") +
  geom_smooth(method = lm)
ggplotly(p4)
#simple model
m2 <- glm(resprout ~ setup.vol, data = merged.data)
summary(m2)
## 
## Call:
## glm(formula = resprout ~ setup.vol, data = merged.data)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -4.989  -2.966  -1.361   2.726   6.840  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  4.78551    1.40967   3.395   0.0037 **
## setup.vol    0.05216    0.03352   1.556   0.1392   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 13.92356)
## 
##     Null deviance: 256.50  on 17  degrees of freedom
## Residual deviance: 222.78  on 16  degrees of freedom
## AIC: 102.37
## 
## Number of Fisher Scoring iterations: 2
anova(m2, test = "Chisq")
## Analysis of Deviance Table
## 
## Model: gaussian, link: identity
## 
## Response: resprout
## 
## Terms added sequentially (first to last)
## 
## 
##           Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL                         17     256.50         
## setup.vol  1   33.723        16     222.78   0.1196